package cn.edu.scau.cmi.ema.service;

import java.util.List;
import java.util.Set;
import java.io.IOException;
import com.alibaba.fastjson.JSONObject;
import java.util.Map;
import org.springframework.web.bind.annotation.RequestParam;
import cn.edu.scau.cmi.ema.domain.*;
import cn.edu.scau.cmi.ema.domain.base.CmiPagination;


public interface RuleService {

	public Rule saveRule(Rule rule);

	public Set<Rule> loadRules();

	public Set<Rule> loadReferenceRules(Set<Rule> rules);

	public Set<Rule> loadRulesByIdSet(Set<Integer> rulesId);

	public Map<String, ?> loadRuleObjectReferencedSet(Rule rule);

	public Map<String, ?> loadRuleClassReferencedSet(Rule rule);

	public void deleteRule(Rule rule);

	public void deleteRules(Set<Integer> deleteRulesId);

	public List<Rule> findAllRules(Integer startResult, Integer maxRows);

	public Rule findRuleByPrimaryKey(Integer id);

	public Integer countRules();

	public Integer countRules(CmiPagination page);

	public Integer countRulesByName(String queryName);

	public Integer countRulesByDetachedCriteria(CmiPagination page);

}
